package cn.changein.framework.model.setting.client.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 客户
 * </p>
 *

 * @since 2020-11-02
 */
@TableName("sc_base_client")
public class Client implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 余额
     */
    @TableField("balance")
    private BigDecimal balance;

    /**
     * 加密后余额--效验更新
     */
    @TableField("balance_verification")
    private String balanceVerification;

    /**
     * 开户行账号
     */
    @TableField("bank_account")
    private String bankAccount;

    /**
     * 开户行名称
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 登记地址
     */
    @TableField("address")
    private String address;

    /**
     * 客户代码
     */
    @TableField("client_code")
    private String clientCode;

    /**
     * 客户名称
     */
    @TableField("client_name")
    private String clientName;

    /**
     * 固定电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 手机号码
     */
    @TableField("mobile")
    private String mobile;

    /**
     * 联系人
     */
    @TableField("link_man")
    private String linkMan;

    /**
     * 税率
     */
    @TableField("contact_tax")
    private BigDecimal contactTax;

    /**
     * 往来单位分类
     */
    @TableField("contact_type")
    private String contactType;

    /**
     * 往来单位分类ID
     */
    @TableField("contact_type_id")
    private Long contactTypeId;

    /**
     * 授信额度
     */
    @TableField("credit_line")
    private BigDecimal creditLine;

    /**
     * 授信等级,可自定义，类似标签
     */
    @TableField("credit_period")
    private String creditPeriod;

    /**
     * 币种：0--人民币；1--美元；2--欧元
     */
    @TableField("currency_type")
    private Integer currencyType;

    /**
     * 0:未审核 1:已审核
     */
    @TableField("audit")
    private Integer audit;

    /**
     * 审核时间
     */
    @TableField("audit_time")
    private Date auditTime;

    /**
     * 审核人
     */
    @TableField("auditor")
    private Long auditor;

    /**
     * 外部编码
     */
    @TableField("outer_code")
    private String outerCode;

    /**
     * 密码
     */
    @TableField("password")
    private String password;

    /**
     * 结算方式
     */
    @TableField("pay_type")
    private String payType;

    /**
     * 结算方式ID
     */
    @TableField("pay_type_id")
    private Long payTypeId;

    /**
     * 引用数量
     */
    @TableField("quoted_count")
    private Long quotedCount;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 折扣
     */
    @TableField("discount")
    private String discount;

    /**
     * 0:启用 1:禁用
     */
    @TableField("state")
    private Integer state;

    /**
     * 删除标记 0:正常 1:删除
     */
    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 更新人
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public String getBalanceVerification() {
        return balanceVerification;
    }

    public void setBalanceVerification(String balanceVerification) {
        this.balanceVerification = balanceVerification;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getClientCode() {
        return clientCode;
    }

    public void setClientCode(String clientCode) {
        this.clientCode = clientCode;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getLinkMan() {
        return linkMan;
    }

    public void setLinkMan(String linkMan) {
        this.linkMan = linkMan;
    }

    public BigDecimal getContactTax() {
        return contactTax;
    }

    public void setContactTax(BigDecimal contactTax) {
        this.contactTax = contactTax;
    }

    public String getContactType() {
        return contactType;
    }

    public void setContactType(String contactType) {
        this.contactType = contactType;
    }

    public Long getContactTypeId() {
        return contactTypeId;
    }

    public void setContactTypeId(Long contactTypeId) {
        this.contactTypeId = contactTypeId;
    }

    public BigDecimal getCreditLine() {
        return creditLine;
    }

    public void setCreditLine(BigDecimal creditLine) {
        this.creditLine = creditLine;
    }

    public String getCreditPeriod() {
        return creditPeriod;
    }

    public void setCreditPeriod(String creditPeriod) {
        this.creditPeriod = creditPeriod;
    }

    public Integer getCurrencyType() {
        return currencyType;
    }

    public void setCurrencyType(Integer currencyType) {
        this.currencyType = currencyType;
    }

    public Integer getAudit() {
        return audit;
    }

    public void setAudit(Integer audit) {
        this.audit = audit;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Long getAuditor() {
        return auditor;
    }

    public void setAuditor(Long auditor) {
        this.auditor = auditor;
    }

    public String getOuterCode() {
        return outerCode;
    }

    public void setOuterCode(String outerCode) {
        this.outerCode = outerCode;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public Long getPayTypeId() {
        return payTypeId;
    }

    public void setPayTypeId(Long payTypeId) {
        this.payTypeId = payTypeId;
    }

    public Long getQuotedCount() {
        return quotedCount;
    }

    public void setQuotedCount(Long quotedCount) {
        this.quotedCount = quotedCount;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getDiscount() {
        return discount;
    }

    public void setDiscount(String discount) {
        this.discount = discount;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    @Override
    public String toString() {
        return "Client{" +
                "id=" + id +
                ", balance=" + balance +
                ", balanceVerification=" + balanceVerification +
                ", bankAccount=" + bankAccount +
                ", bankName=" + bankName +
                ", address=" + address +
                ", clientCode=" + clientCode +
                ", clientName=" + clientName +
                ", phone=" + phone +
                ", mobile=" + mobile +
                ", linkMan=" + linkMan +
                ", contactTax=" + contactTax +
                ", contactType=" + contactType +
                ", contactTypeId=" + contactTypeId +
                ", creditLine=" + creditLine +
                ", creditPeriod=" + creditPeriod +
                ", currencyType=" + currencyType +
                ", audit=" + audit +
                ", auditTime=" + auditTime +
                ", auditor=" + auditor +
                ", outerCode=" + outerCode +
                ", password=" + password +
                ", payType=" + payType +
                ", payTypeId=" + payTypeId +
                ", quotedCount=" + quotedCount +
                ", remark=" + remark +
                ", discount=" + discount +
                ", state=" + state +
                ", deleteFlag=" + deleteFlag +
                ", createTime=" + createTime +
                ", createUser=" + createUser +
                ", updateTime=" + updateTime +
                ", updateUser=" + updateUser +
                "}";
    }
}
